package com.web.aspect;//package com.web.aspect;
//
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.*;
//import org.springframework.stereotype.Component;
//
///**
// * 日志切面
// */
//@Aspect
//@Component
//public class LogAspect {
//
//    /**
//     * 定义切点
//     * 第一个* 代表所有修饰符 *ServiceImpl代表以servieImpl结尾的类 ServiceImpl.*代表所有方法
//     * ..代表所有的参数
//     */
//    @Pointcut("execution(* com.web.service.impl.*ServiceImpl.*(..))")
//    public void pointcut(){}
//
//    /**
//     * 前置通知
//     */
//    @Before("pointcut()")
//    public void beforeLog(){
//        System.out.println("这是前置通知！！");
//    }
//
//    @After("pointcut()")
//    public void afterLog(){
//        System.out.println("这是后置通知！！");
//    }
//
//    @Around("pointcut()")
//    public Object aroundLog(ProceedingJoinPoint point) throws Throwable {
//        System.out.println("这是环绕的前置通知~~~~~~~~");
//        //执行原有的方法
//        Object obj = point.proceed();
//        System.out.println("这是环绕的后置通知~~~~~~~~~");
//        return obj;
//    }
//
//    @AfterReturning("pointcut()")
//    public void afterReturnLog(){
//        System.out.println("这是方法返回后的通知！！！");
//    }
//
//    @AfterThrowing("pointcut()")
//    public void afterThrow(){
//        System.out.println("这是异常通知！！");
//    }
//}
